Linux export、set、env和source作用详解

您所在的位置:网站首页 env export Linux export、set、env和source作用详解

Linux export、set、env和source作用详解

2024-07-09 13:36| 来源: 网络整理| 查看: 265

配置过环境变量的童鞋肯定都过类似经历,尤其在Linux 和Mac中,配置完环境变量后,新配置的环境变量需要source以后才会起作用;过程中会用到export这个关键字,export到底什么意思,有什么作用?

系统启动的时候会默认加载一组shell变量。如果后续新增的变量(比如JAVA_HOME),就必须在引入进来,export就是起到引入的作用。 export完成后,还需要source加载进来才能生效。

为什么有的时候每次打开一个shell窗口就要source一次? 这个就跟export引入变量的作用域有关系。

首先看下 Linux中环境变量的启动过程 如下图: 在这里插入图片描述

在shell中执行程序,shell会提供一组环境变量。当打开一个shell命令窗口的时候,就代表一个shell环境加载完成。

export用来设置或显示环境变量;export可新增、修改或删除环境变量;export的作用范围仅限于此次建立的连接登录操作;

export语法:

export [-fnp] [变量名称key] = [变量值value] #参数说明 -f:代表[变量名称]中为函数名称 -n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中 -p:列出所有的shell赋予程序的环境变量 三

shell中变量环境分三种:内部变量、环境变量、用户变量

内部变量:系统提供,不用定义,不可修改;环境变量:系统提供,不用定义,可以修改,利用export将用户变量转为环境变量;用户变量:用户定义,可以修改;

内部变量值是不可修改的,如下:

表示方法 描述 $n $1 表示第一个参数,$2 表示第二个参数 ... $# 命令行参数的个数 $0 当前程序的名称 $? 前一个命令或函数的返回码 $* 以"参数1 参数2 ... " 形式保存所有参数 $@ 以"参数1" "参数2" ... 形式保存所有参数 $$ 本程序的(进程ID号)PID

如何使常用的环境变量只配置一次就可以呢? 通过上图环境变量启动过程,可将变量在当前用户或所有用户的配置中进行修改即可。 在这里插入图片描述

除了export可以显示环境变量外,set和env也可以显示环境变量。

set 显示当前shell的变量,包括当前用户的变量env 显示当前用户的变量export 显示当前到处成用户变量的shell变量

参考链接: Linux Export命令 shell与export命令 linux set,env和export linux中env,export, set的区别

始发于2019.07.02



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3